package com.trhui.mallbook.domain.request.yb;

import com.trhui.mallbook.domain.common.BaseRequest;
import com.trhui.mallbook.domain.request.Goods;

import java.util.List;

/**
 * 易宝支付接口请求对象
 * @author huangh
 * @version 1.0
 * @description
 * @date 2023/08/16 0016 10:14
 */

public class YbPaymentOrderRequest extends BaseRequest {

    /**
     * 业务订单号(必填)
     */
    private String bizOrderId;

    /**
     * 交易金额(必填)
     */
    private String amount;

    /**
     * 付款方子商户编号
     */
    private String payerUserId;

    /**
     * 付款人
     */
    private String payerUserName;

    /**
     * 收款人会员ID(必填)
     */
    private String payeeUserId;

    /**
     * 订单名称(必填)
     */
    private String orderName;

    /**
     * 支付类型(必填)
     */
    private String payType;

    /**
     * 交易类型(必填)
     */
    private String transferType;

    /**
     * 订单过期时间
     */
    private String expire;

    /**
     * 微信或支付宝的appid
     */
    private String appid;

    /**
     * 微信或支付宝用户id
     */
    private String openid;

    /**
     * 用户授权码
     */
    private String userAuthCode;

    /**
     * 银行卡类型
     */
    private String cardType;

    /**
     * 用户标识
     */
    private String userNo;

    /**
     * 用户标识类型
     */
    private String userType;

    /**
     * 终端IP(必填)
     */
    private String terminalIp;

    /**
     * 商品列表(必填)
     */
    private List<Goods> goodsDetail;

    /**
     * 支付完成页面自定义信息
     */
    private String payCompleteInfo;

    /**
     * 场景
     */
    private String scene;

    /**
     * 银行转账支付校验模式
     */
    private String checkType;

    /**
     * 是否托管下单
     */
    private String tutelageFlag;

    /**
     * 前台回调地址(必填)
     */
    private String frontUrl;

    /**
     * 后台回调地址(必填)
     */
    private String notifyUrl;

    /**
     * 自定义参数1
     */
    private String parameter1;

    /**
     * 自定义参数2
     */
    private String parameter2;
    /**
     *  终端号(付款码支付时，必填； 可自定义终端设备ID；)
     */
    private String terminalId;

    public String getTerminalId() {
        return terminalId;
    }

    public void setTerminalId(String terminalId) {
        this.terminalId = terminalId;
    }

    public String getBizOrderId() {
        return bizOrderId;
    }

    public void setBizOrderId(String bizOrderId) {
        this.bizOrderId = bizOrderId;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getPayerUserId() {
        return payerUserId;
    }

    public void setPayerUserId(String payerUserId) {
        this.payerUserId = payerUserId;
    }

    public String getPayerUserName() {
        return payerUserName;
    }

    public void setPayerUserName(String payerUserName) {
        this.payerUserName = payerUserName;
    }

    public String getPayeeUserId() {
        return payeeUserId;
    }

    public void setPayeeUserId(String payeeUserId) {
        this.payeeUserId = payeeUserId;
    }

    public String getOrderName() {
        return orderName;
    }

    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getTransferType() {
        return transferType;
    }

    public void setTransferType(String transferType) {
        this.transferType = transferType;
    }

    public String getExpire() {
        return expire;
    }

    public void setExpire(String expire) {
        this.expire = expire;
    }

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getUserAuthCode() {
        return userAuthCode;
    }

    public void setUserAuthCode(String userAuthCode) {
        this.userAuthCode = userAuthCode;
    }

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getTerminalIp() {
        return terminalIp;
    }

    public void setTerminalIp(String terminalIp) {
        this.terminalIp = terminalIp;
    }

    public List<Goods> getGoodsDetail() {
        return goodsDetail;
    }

    public void setGoodsDetail(List<Goods> goodsDetail) {
        this.goodsDetail = goodsDetail;
    }

    public String getPayCompleteInfo() {
        return payCompleteInfo;
    }

    public void setPayCompleteInfo(String payCompleteInfo) {
        this.payCompleteInfo = payCompleteInfo;
    }

    public String getScene() {
        return scene;
    }

    public void setScene(String scene) {
        this.scene = scene;
    }

    public String getCheckType() {
        return checkType;
    }

    public void setCheckType(String checkType) {
        this.checkType = checkType;
    }

    public String getTutelageFlag() {
        return tutelageFlag;
    }

    public void setTutelageFlag(String tutelageFlag) {
        this.tutelageFlag = tutelageFlag;
    }

    public String getFrontUrl() {
        return frontUrl;
    }

    public void setFrontUrl(String frontUrl) {
        this.frontUrl = frontUrl;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getParameter1() {
        return parameter1;
    }

    public void setParameter1(String parameter1) {
        this.parameter1 = parameter1;
    }

    public String getParameter2() {
        return parameter2;
    }

    public void setParameter2(String parameter2) {
        this.parameter2 = parameter2;
    }
}
